iT邦幫忙

2023 iThome 鐵人賽

DAY 18
0
自我挑戰組

那些有趣的程式系列 第 27

【Day27】從零開始的程式大亂鬥:JavaScript-Hoisting

  • 分享至 

  • xImage
  •  

今天要談的是 JavaScript 的 Hoisting

Example 1:

var greet;
console.log(greet);

輸出結果:

undefined

Example 2:

var greet = 'Hello';
console.log(greet);

輸出結果:

Hello

Example 3:

console.log(string);
var string = 'HI';

輸出結果:

undefined

會造成這樣的結果,原因就在 JavaScript 中使用 var 宣告變數時,會將 var 提升(Hoisting)到最頂端宣告。

因此 Example 3 的程式碼也能看作:

var greet;
console.log(greet);
greet = 'Hello';

輸出結果:

undefined

簡單來說,不管你在哪一行用 var 宣告變數,都當作在函數的第一行宣告。


上一篇
【Day26】從零開始的程式大亂鬥:JavaScript-令人頭痛的轉型
下一篇
【Day28】從零開始的程式大亂鬥:JavaScript-渲染流水線
系列文
那些有趣的程式35
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言